Bisimulations for Communicating Transactions
نویسندگان
چکیده
We develop a theory of bisimulations for a simple language containing communicating transactions, obtained by dropping the isolation requirement of standard transactions. Such constructs have emerged as a useful programming abstraction for distributed systems. In systems with communicating transactions actions are tentative, waiting for certain transactions to commit before they become permanent. Our theory captures this by making bisimulations history-dependent, in that actions performed by transactions need to be recorded. The main requirement on bisimulations is the systems being compared need to match up exactly in the permanent actions but only those. The resulting theory is fully abstract with respect to a natural contextual equivalence and, as we show in examples, provides an effective verification technique for comparing systems with communicating transactions.
منابع مشابه
Distinguishing between communicating transactions
Communicating transactions is a form of distributed, non-isolated transactions which provides a simple construct for building concurrent systems. In this paper we develop a logical framework to express properties of the observable behaviour of such systems. This comprises three nominal modal logics which share standard communication modalities but have distinct past and future modalities involv...
متن کاملLanguage Support for Communicating Transactions
In the context of databases, a transaction is a sequence of data operations that are executed atomically and in isolation: either all operations are executed or none is; and their effects are visible to the environment only after the transaction commits. Database transactions are well-established abstractions that simplify concurrent data access in computer programming. Recently Software Transa...
متن کاملA Timed Calculus for Distributed Objects with Clocks
This paper proposes a formalism for reasoning about distributed object-oriented computations. The formalism is an extension of Milner's CCS with the notion of local time. It allows to describe and analyze both locally temporal and behavioral properties of distributed objects and interactions among them. We introduce timed bisimulations with respect to local time. These bisimulations equate dist...
متن کاملTimed Network Semantics for Communicating Processes
Timed network semantics for CCS, which incorporate to the behaviour of timed processes also a capacity of communication network, are introduced. All these semantics are suitable for bottom-up speciications. A decreasing hierarchy of rigorous network bisimulations is presented. These bisimulations are non-interleaving reenements of the usual strong bisim-ulation. A complete and sound proof syste...
متن کاملCommunicating Transactions - (Extended Abstract)
We propose a novel language construct called communicating transactions, obtained by dropping the isolation requirement from classical transactions, which can be used to model automatic error recovery in distributed systems. We extend CCS with this construct and give a simple semantics for the extended calculus, called TransCCS. We develop a behavioural theory which is sound and complete with r...
متن کامل